The present disclosure relates to computing systems, and in particular to maintenance of computing systems, such as in virtualized computer environments.
Virtualized computing environments, also referred to as cloud computing systems or composite information technology systems, are used to provide computing resources to end users. In a cloud computing environment, the physical hardware configuration is hidden from the end user. Cloud computing systems may include servers, network storage devices, routers, gateways, communication links, software (e.g., applications, operating systems, web services, etc.), and other devices. However, because the physical hardware and software platforms on which cloud computing system is implemented are hidden within a “cloud,” they can be managed, upgraded, replaced or otherwise changed by a system administrator without the customer being aware of or affected by the change.
In a typical cloud computing environment, applications may be executed on virtual machines or appliances, which are guest operating systems installed within a host system and an optional preset configuration and structure (e.g., combination of operating system and web server). A virtual machine (VM) can be a software implementation of a machine or computer that executes programs as would a physical machine, in a manner that is transparent to a user. Virtual machines are typically implemented with software emulation and/or hardware virtualization. A single hardware and/or software platform may host a number of virtual machines, each of which may have access to some portion of the platform's resources, such as processing resources, storage resources, etc.
Many maintenance tasks on virtual machine disks (VMDKs) can be executed while the virtual machine (VM) is online, using for example the hardware resources associated with or used by the VM. These maintenance tasks can include (but are not limited to) defragmenting (either the files into the VMDK or the VMDK file in datacenter), wiping deleted files/cleaning (temporary folders, browsing history, cache, etc.), scanning for malicious software (malware), removing malicious software if found (by anti-virus, etc.), configuration management of operating systems (such as set registry values or configuration files), file integrity monitoring and reports (checksums), backup operations, disk formatting, and others. As such, hardware resources of the VMs' host (including for instance, CPU, memory, disks, and/or network resources) may be consumed in performing these and/or other maintenance tasks.